package com.wigem.approve.entity;

import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wigem.framework.common.util.common.GuidUtils;

import java.util.Date;

/**
 * 报告期字典对象 dic_report
 *
 * @author DH
 * @date 2024-05-27
 */

@Data
@ApiModel
@TableName("dic_report")
public class DicReportEntity {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ApiModelProperty(value = "id", name = "id")
    @TableId
    private String id;

    /**
     * 报告期名称
     */
    @ApiModelProperty(value = "报告期名称", name = "reportName")
    @TableField(value = "report_name")
    private String reportName;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间", name = "beginTime")
    @TableField(value = "begin_time")
    private Date beginTime;

    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间", name = "endTime")
    @TableField(value = "end_time")
    private Date endTime;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态", name = "status")
    @TableField(value = "status")
    private String status;

    /**
     * 报告期类型
     */
    @ApiModelProperty(value = "报告期类型", name = "reportType")
    @TableField(value = "report_type")
    private String reportType;

    /**
     * 报告期年份
     */
    @ApiModelProperty(value = "报告期年份", name = "reportYear")
    @TableField(value = "report_year")
    private String reportYear;

    /**
     * 阶段
     */
    @ApiModelProperty(value = "中期阶段状态", name = "midStatus")
    @TableField(value = "mid_status")
    private String midStatus;

    /**
     * 阶段
     */
    @ApiModelProperty(value = "后期阶段状态", name = "postStatus")
    @TableField(value = "mid_status")
    private String postStatus;

    /**
     * 阶段
     */
    @ApiModelProperty(value = "阶段id", name = "stageId")
    @TableField(exist = false)
    private String stageId;

    public void create() {
        this.id = GuidUtils.generate();
    }

    public void modify(String keyValue) {
        this.id = keyValue;
    }

}
